import turtle

def draw_star(t, size, angle=0):
    """绘制五角星，t为turtle对象，size为大小，angle为旋转角度"""
    t.setheading(angle)
    t.begin_fill()
    for _ in range(5):
        t.forward(size)
        t.right(144)  # 五角星的内角为36度，外角为144度
    t.end_fill()

def draw_flag():
    # 创建画布和turtle对象
    screen = turtle.Screen()
    screen.title("五星红旗")
    
    # 国旗比例为3:2，设置画布大小
    width, height = 600, 400
    screen.setup(width, height)
    
    flag = turtle.Turtle()
    flag.speed(3)  # 绘制速度
    flag.penup()
    flag.hideturtle()
    
    # 绘制红色旗面
    flag.goto(-width/2, height/2)
    flag.color("red", "red")
    flag.begin_fill()
    flag.pendown()
    for _ in range(2):
        flag.forward(width)
        flag.right(90)
        flag.forward(height)
        flag.right(90)
    flag.end_fill()
    
    # 绘制大五角星（左上角）
    flag.penup()
    flag.goto(-width/2 + width/10, height/2 - height/10)  # 大星位置
    flag.color("yellow", "yellow")
    draw_star(flag, height/5, 90)  # 大星朝上
    
    # 绘制四颗小五角星
    # 第一颗小星（右上方）
    flag.goto(-width/2 + width/4, height/2 - height/10)
    draw_star(flag, height/15, 18 + 90)  # 指向大星中心
    
    # 第二颗小星（右中）
    flag.goto(-width/2 + width/4 + width/20, height/2 - height/5)
    draw_star(flag, height/15, -18 + 90)
    
    # 第三颗小星（右下1）
    flag.goto(-width/2 + width/4, height/2 - height/5 - height/20)
    draw_star(flag, height/15, -72 + 90)
    
    # 第四颗小星（右下2）
    flag.goto(-width/2 + width/10, height/2 - height/5 - height/20)
    draw_star(flag, height/15, -108 + 90)
    
    # 完成绘制，保持窗口
    screen.mainloop()

if __name__ == "__main__":
    draw_flag()